cmake_minimum_required(VERSION 3.10)

project(SimpleLNS)
set(CMAKE_CXX_STANDARD 17)

set(MARIADB_C_INCLUDE_DIR "")
set(MARIADB_C_LIB_DIR "")

if (WIN32)
    # Windows settings & paths
    set(MARIADB_C_INCLUDE_DIR "C:/mariadb/include/mariadb") # SET MARIADB C CONNECTOR LIBRARY (WINDOWS)
    set(MARIADB_C_LIB_DIR "C:/mariadb/lib/mariadb") # SET MARIADB C CONNECTOR LIBRARY (WINDOWS)
    add_definitions(-DWITH_SSL=OFF)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
elseif (UNIX AND NOT APPLE)
    # Linux settings & paths
    set(MARIADB_C_INCLUDE_DIR "/usr/local/include/mariadb/") # SET MARIADB C CONNECTOR LIBRARY (LINUX)
    set(MARIADB_C_LIB_DIR "/usr/local/lib/mariadb/") # SET MARIADB C CONNECTOR LIBRARY (LINUX)
    add_definitions(-DWITH_SSL=OFF)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++ -static")
endif()


include_directories(${MARIADB_C_INCLUDE_DIR})
link_directories(${MARIADB_C_LIB_DIR})

# Executables
add_executable(SimpleLNS main.cpp src/network.cpp src/configfile_handler.cpp src/database_handler.cpp src/functions.cpp src/message.cpp src/crypto.cpp)

# MariaDB Libraries linking
if (WIN32)
    target_link_libraries(SimpleLNS "${MARIADB_C_LIB_DIR}/libmariadb.a")
    target_link_libraries(SimpleLNS ws2_32 iphlpapi Shlwapi)
elseif (UNIX AND NOT APPLE)
    target_link_libraries(SimpleLNS "${MARIADB_C_LIB_DIR}/libmariadbclient.a")
    target_link_libraries(SimpleLNS -static -pthread -ldl)
endif()

